﻿/*
 * Creado por SharpDevelop.
 * Usuario: seba
 * Fecha: 01/08/2009
 * Hora: 08:44 p.m.
 * 
 * Para cambiar esta plantilla use Herramientas | Opciones | Codificación | Editar Encabezados Estándar
 */
using System;

namespace SACP
{
	/// <summary>
	/// Description of Validacion.
	/// </summary>
	public class Validacion
	{

		
		public Validacion()
		{


		}
		/// <summary>
		/// Verifica el tipo de datos 
		/// </summary>
		/// <param name="000 ">Es string compuesto de letras y numeros</param>
		/// <param name="010 ">Es Fecha</param>
		/// <param name="001 ">Es Numero</param>
		/// <param name="000 ">Es string vacio (null)</param>
		public static string Validar(string cadena)
		{
			string tp = "";
			if(IsEmpty(cadena) == true) {
				tp += "1";
			}
			if(IsEmpty(cadena) == false) {
				tp += "0";			
			}
			if(IsDate(cadena) == true) {
				tp += "1";			
			}
			if(IsDate(cadena) == false) {
				tp += "0";			
			}
			if(IsNumeric(cadena) == true) {
				tp += "1";			
			}
			if(IsNumeric(cadena) == false) {
				tp += "0";			
			}

			
			return tp;  
			
		}

	
		/// <summary>
		/// Devuelve true si el string es null
		/// </summary>
		/// <param name="expresion"></param>
		/// <returns></returns>
		public static bool IsEmpty(string expresion)
		{
			if (expresion == string.Empty) 
			{ 
				return true; 
			}
			return false;
		}
		
		public static bool IsDate(string expresion)   
		{   
			if (expresion == string.Empty) { return false; }   
  
		    try  
		    {   
		        DateTime dateTime = DateTime.Parse(expresion);   
		    }   
    		catch (FormatException)   
		    {   
		        return false;   
		    }   
  
		    return true;   
		}   
  
		public static bool IsNumeric(string expresion)   
		{   
		    if (expresion == string.Empty) { return false; }   
  
		    try  
		    {   
		        int numero = int.Parse(expresion);   
		    }   
		    catch (FormatException)   
		    {   
		        return false;   
		    }   
		    return true;   
		}   
  
		public static bool IsLetter(string expresion, int posicion)   
		{   
		    if (expresion == string.Empty) { return false; }   
  
		    return char.IsLetter(expresion,posicion);   
		}  		
		
	}
}
